const express = require('express');
const route = express.Router()  
const adminModel = require("../db/model/adminModel")  //引入数据库集合

var md5 = require('md5');   //引入md5加密
const addAdminReg = require('../middleware/addAdminReg.js')  //引入正则校验中间件
const isLoginMiddle = require("../middleware/isLoginMiddle") //引入权限校验中间件


//添加管理员接口
route.post("/addAdmin" ,isLoginMiddle,  addAdminReg ,async (req, res) => {
    const {
        adminName,
        password,
        regTime
    } = req.body
  
    try {
      //拿着用户名去数据库的adminModel集合中查询是否存在,findOne如果查询不到返回null
      const findResult = await adminModel.findOne({
        adminName
      })
  
      //如果查询到了,则直接响应该用户名已经注册
      if (findResult) {
        return res.send({
          code: 10001,
          msg: "添加管理员-用户已经被注册",
          data: null
        })
      }
  
      //如果没有查询到,则向数据库添加该数据
      await adminModel.create({
        adminName,
        //密码在保存的时候加密(并加盐)
        password: md5(password + '123'),
        regTime
      })

      res.send({
        code: 10000,
        msg: "添加管理员-添加成功",
        data: null
      })
    } catch (e) {
      console.log("添加管理员中出现了异常" + e.message);
      res.send({
        code: 10002,
        msg: "添加管理员-服务端异常",
        data: null
      })
    }
})

//暴露添加管理员路由
module.exports = route;
